package org.road0329.tools.proto_parse_tool.enums;

/**
 * 单位枚举
 */
public enum UnitCodeEnum {
                          WH("02", "Wh"), KWH("05", "kWh"), MWH("08", "MWh"), MWH100("0A", "MWh×100"), // br
                          J("01", "J"), KJ("0B", "kJ"), MJ("0E", "MJ"), GJ100("13", "GJ×100"), W("14", "W"), KW("17", "kW"), // br
                          MW("1A", "MW"), L("29", "L"), M3("2C", "m3"), LH("32", "L/h"), GJ("11", "GJ"), M3H("35", "m3/h");

    private final String value;
    private final String text;

    UnitCodeEnum(String value, String text) {
        this.value = value;
        this.text = text;
    }

    public String getValue() {
        return value;
    }

    public String getText() {
        return text;
    }

    /**
     * 通过传入的字符串匹配枚举，传入值
     * 
     * @param value
     * @return
     */
    public static UnitCodeEnum getEnmuByValue(String value) {
        for (UnitCodeEnum at : UnitCodeEnum.values()) {
            if (at.getValue().equals(value)) {
                return at;
            }
        }
        return null;
    }

    /**
     * 通过传入的字符串匹配枚举获得描述，传入值
     * 
     * @param value
     * @return
     */
    public static String getText(String value) {
        UnitCodeEnum type = getEnmuByValue(value);
        return type == null ? "" : type.text;
    }

}
